Skip to main content

for in 和 for of 的区别

  • for...in循环:只能获得对象的键名,不能获得键值
  • for...of循环:允许遍历获得键值

for in

for…in… 返回对象 key

//返回对象key
function getObjectKeys(object) {
let keys = []
for(let property in object)
keys.push(property)
return keys
}

const obj = { foo: 'bar', baz: 42 };
console.log(getObjectKeys(obj));

for in 遍历对象会不会遍历原型链属性

  • 使用 for in 循环遍历对象的属性时,原型链上的所有属性都将被访问:
  • 只遍历对象自身的属性,而不遍历继承于原型链上的属性,使用 hasOwnProperty 方法过滤一下。